// const fs = require('fs')
// const vm = require('vm')


// 1.eval
// const content = fs.readFileSync('./03.vm-module.txt','utf-8')
// var userName = 'xiaohong'
// eval(content) // 会出现变量覆盖 
// console.log(userName) // xiaoming

// 2.new Function
// let userName = 'xiaoming'
// const fn = new Function('userName','return userName;')
// console.log(fn(userName))

// 3.vm 机制
// let userName = 'xiao hong'
// vm.runInThisContext('userName = " xiao ming"') // 环境和外部隔离，无法使用外部变量
// console.log(userName) // xiaohong

// age = 12
// vm.runInThisContext('age += 20') // 全局变量可以在内部使用
// console.log(age) // 32

